﻿using System;
using System.Linq;

namespace Seed.Data
{
    public interface IRepository : IDisposable
    {
        IQueryable<T> Query<T>() where T : class;

        T Find<T>(params object[] keyValues) where T : class;

        void Add<T>(T entity) where T : class;

        void Update<T>(T entity) where T : class;

        void Remove<T>(T entity) where T : class;

        int SaveChanges();
    }
}
